package net.aiion.weave.spi.bytecode;

import java.util.Collection;

public interface BytecodeType
{
    void setTypeName(String aTypeName);

    String getTypeName();

    void setSuperTypeName(String aSuperTypeName);

    String getSuperTypeName();

    void addInterfaceName(String aInterfaceName);

    boolean hasInterfaceName(String aInterfaceName);

    void removeInterfaceName(String aInterfaceName);

    Collection<String> getInterfaceNames();

    void addAnnotationName(String aAnnotationName);

    boolean hasAnnotationName(String aAnnotationName);

    void removeAnnotationName(String aAnnotationName);

    Collection<String> getAnnotationNames();
}
